package com.example.cloud.service;

import com.example.cloud.util.PageRequest;
import com.example.cloud.util.PageResult;
import com.example.cloud.entity.User;

/**
 * 用户服务接口
 */
public interface UserService {
    
    /**
     * 根据openid查询用户
     * @param openid 微信openid
     * @return 用户信息
     */
    User findByOpenid(String openid);
    
    /**
     * 保存用户
     * @param user 用户信息
     * @return 保存后的用户
     */
    User save(User user);
    
    /**
     * 更新用户
     * @param user 用户信息
     * @return 更新后的用户
     */
    User update(User user);
    
    /**
     * 根据id查询用户
     * @param id 用户id
     * @return 用户信息
     */
    User findById(Long id);
    
    PageResult<User> getUserList(User user, PageRequest pageRequest);
    
    void deleteUser(Long id);
    
    Long getUserCount(User user);
} 